ホームに戻る
出典 :
関連 :
目次 :
Don't Repeat Yourself とは
「自分自身(同じこと)を繰り返さない」の意で、特にソフトウェア設計・開発の分野において、重複を防ぐ哲学である。
情報の重複はシステムの変更の困難さを増大し、透明性を減少させ、不一致を生じさせるものであるとしている。
この原則が効果的に適用された場合、一つの主題を扱う記述はシステム中で唯一となる。
これにより変更箇所を局所化できるため、変更に伴うヒューマンエラーを低減できる。
対象はソースコードに限らず、ドキュメンテーションも含まれる。
プログラミングにおいて守られるべき原則の中でも特に重要。
DRYが守られていない例

複数回出現する共通の論理を、サブルーチン化することなくコピー&ペーストで実装している。
この「共通の論理」に修正が必要となった場合、システム全体を走査しなければならず、またすべての箇所が漏れなく修正されたことを検証する必要があり、どちらの過程でもミスが発生し得る。
⇒ DRY化されていれば、修正箇所は一つで済む 。
複数回(2回以上)登場する論理はサブルーチン化するのが鉄則。
コピー&ペーストは即、DRYに反する「問題のあるコードを拡散する行為」である。
DRYとWET
DRY(乾燥)になぞらえ、対となるWET(Write Every Time : 毎回同じことを書く)という表現もある。
自然界ではウェットな部分から腐敗するが、プログラムも同様にWETなコードほど問題を内包しやすい。